package com.example.hello.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.example.hello.entity.EmpDO;
import com.example.hello.model.EmpPageRequest;

@Mapper
public interface EmpMapper {
    List<EmpDO> selectByCondition(EmpPageRequest request);

    EmpDO selectById(@Param("id") Integer id);

    /**
     * 根据用户名查询员工
     * 
     * @param username 用户名
     * @return 员工信息
     */
    EmpDO selectByUsername(@Param("username") String username);

    int checkUsernameExists(@Param("username") String username);

    int checkPhoneExists(@Param("phone") String phone);

    int checkUsernameExistsForUpdate(@Param("username") String username, @Param("id") Integer id);

    int checkPhoneExistsForUpdate(@Param("phone") String phone, @Param("id") Integer id);

    int insert(EmpDO emp);

    int update(EmpDO emp);

    int deleteById(@Param("id") Integer id);

    int deleteByIds(@Param("empIds") List<Integer> ids);
}